package controller

import (
	"fmt"
	"net/http"

	"example.com/m/demo14/models"
	"github.com/gin-gonic/gin"
)

type ArticleController struct{}

func (con ArticleController) CreateArticle(c *gin.Context) {
	//创建文章
	article := models.Article{
		Name:   "洛洛历险记",
		Author: "小卡拉米",
		Price:  12.11,
	}
	models.DB.Create(&article)
	fmt.Println(article)
	c.JSON(200, gin.H{
		"status":  200,
		"results": article,
	})
}

func (con ArticleController) GetArticle(c *gin.Context) {
	//查询 第一个name字段为22的文章
	/* 	var article models.Article
	   	models.DB.First(&article, "name = ?", 22) */
	//查找id>2的所有数据
	/* 	var article []models.Article
	   	models.DB.Find(&article, "id>?", 2) */
	var article []models.Article
	// models.DB.Where("Author=?", "小卡拉米").Find(&article)
	models.DB.Find(&article)
	c.JSON(200, gin.H{
		"state": http.StatusOK,
		"data":  article,
	})
}

func (con ArticleController) UpdateArticle(c *gin.Context) {
	var article []models.Article
	// models.DB.Where("Author=?", "小卡拉米").Find(&article).Update("name", "我是改变的11")
	// models.DB.Where("id=?", 4).Find(&article).Update("name", "通过id查询改变的一个")
	models.DB.Where("price=?", 77).Find(&article).Update("price", 88)
	c.JSON(http.StatusOK, gin.H{
		"status": 200,
		"data":   article,
	})
}

func (con ArticleController) DeleteArticle(c *gin.Context) {
	var article models.Article
	//删除id为1的article
	models.DB.Delete(&article, 1)
	c.JSON(http.StatusOK, gin.H{
		"status": 200,
		"data":   article,
	})
}
